/* eslint-disable max-lines */
import {EnumItem, Enum} from 'Shared/utils/enumType';
const CN = 'zh-CN';
const EN = 'en-US';

// 发票模板类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:发票模板类型（DCSPart）
export const invoiceTemplateType = Object.freeze({
    __proto__: Enum,
    标准: 1,
    '含HS.CODE': 2,
    乌克兰: 3,
    美国: 4,
    日本: 5,
    巴西: 6,
    俄罗斯: 7,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '标准',
            [EN]: 'Standard'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '含HS.CODE',
            [EN]: 'Contain HS.CODE'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '乌克兰',
            [EN]: 'Ukraine'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '美国',
            [EN]: 'United States'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '日本',
            [EN]: 'Japan'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '巴西',
            [EN]: 'Brazil'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '俄罗斯',
            [EN]: 'Russia'
        }),
    })
});
export const isYesNo = Object.freeze({
    __proto__: Enum,
    是: 1,
    否: 0,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '是',
            [EN]: 'Yes',
        }),
        '0': Object.freeze({
            __proto__: EnumItem,
            [CN]: '否',
            [EN]: 'No',
        })
    })
});

export const isYorN = Object.freeze({
    __proto__: Enum,
    Y: 1,
    N: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Y',
            [EN]: 'Y',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'N',
            [EN]: 'N',
        }),
    })
});
// 总代分类（DCSService） https://wiki.sdtdev.net/CHERYINTL:总代分类（DCSService）
export const agentKind = Object.freeze({
    __proto__: Enum,
    海外工厂: 20,
    海外总代: 21,
    properties: Object.freeze({
        '20': Object.freeze({
            __proto__: EnumItem,
            [CN]: '海外工厂',
            [EN]: 'Factory Overseas',
        }),
        '21': Object.freeze({
            __proto__: EnumItem,
            [CN]: '海外总代',
            [EN]: 'General Agent Overseas'
        })
    })
});

// 基础数据状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:基础数据状态（DCSPart）
export const baseDataStatus = Object.freeze({
    __proto__: Enum,
    生效: 1,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生效',
            [EN]: 'Valid'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 柜形（DCSPart） https://wiki.sdtdev.net/CHERYINTL:柜形（DCSPart）
export const cabinetType = Object.freeze({
    __proto__: Enum,
    '20GP': 1,
    '40GP': 2,
    '40HQ': 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '20GP',
            [EN]: '20GP'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '40GP',
            [EN]: '40GP'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '40HQ',
            [EN]: '40HQ'
        })
    })
});

// 币种（DCSPart） https://wiki.sdtdev.net/CHERYINTL:币种（DCSPart）
export const currency = Object.freeze({
    __proto__: Enum,
    CNY: 1,
    USD: 2,
    AUD: 3,
    CHF: 4,
    EUR: 5,
    GBP: 6,
    HKD: 7,
    JPY: 8,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CNY',
            [EN]: 'CNY'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'USD',
            [EN]: 'USD'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'AUD',
            [EN]: 'AUD'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CHF',
            [EN]: 'CHF'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'EUR',
            [EN]: 'EUR'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'GBP',
            [EN]: 'GBP'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'HKD',
            [EN]: 'HKD'
        }),
        '8': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'JPY',
            [EN]: 'JPY'
        })
    })
});

// 授权方式（DCSPart） https://wiki.sdtdev.net/CHERYINTL:授权方式（DCSPart）
export const dealerExtendAuthorisedMethod = Object.freeze({
    __proto__: Enum,
    'Exclusive Distributor': 1,
    'Non-exclusive Distributor': 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Exclusive Distributor',
            [EN]: 'Exclusive Distributor'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Non-exclusive Distributor',
            [EN]: 'Non-exclusive Distributor'
        })
    })
});

// 上线状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:上线状态（DCSPart）
export const dealerExtendOnlineStatus = Object.freeze({
    __proto__: Enum,
    未上线: 1,
    待上线: 2,
    已上线: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未上线',
            [EN]: 'Not Launched'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '待上线',
            [EN]: 'Wait For Launching'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已上线',
            [EN]: 'Launched'
        })
    })
});

// 总代类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:总代类型（DCSPart）
export const dealerType = Object.freeze({
    __proto__: Enum,
    总代: 1,
    经销商: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '总代',
            [EN]: 'General Agent'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '经销商',
            [EN]: 'Dealership'
        })
    })
});

// 报关地点（DCSPart） https://wiki.sdtdev.net/CHERYINTL:报关地点（DCSPart）
export const declarePlace = Object.freeze({
    __proto__: Enum,
    芜湖: 1,
    上海: 2,
    北京: 3,
    南京: 4,
    合肥: 5,
    宁波: 6,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '芜湖',
            [EN]: 'Wuhu',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '上海',
            [EN]: 'Shanghai',
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '北京',
            [EN]: 'Beijing',
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '南京',
            [EN]: 'Nanjing',
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '合肥',
            [EN]: 'Hefei',
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '宁波',
            [EN]: 'Ningbo',
        })
    })
});

// 报关类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:报关类型（DCSPart）
export const declareType = Object.freeze({
    __proto__: Enum,
    一般贸易: 1,
    样品: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '一般贸易',
            [EN]: 'Normal Trade',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '样品',
            [EN]: 'Sample',
        })
    })
});

// 责任单位状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:责任单位状态（DCSPart）
export const dutyUnitStatus = Object.freeze({
    __proto__: Enum,
    生效: 1,
    停用: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生效',
            [EN]: 'Valid',
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '停用',
            [EN]: 'Void'
        })
    })
});

// 货代类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:货代类型（DCSPart）
export const freightForwarderType = Object.freeze({
    __proto__: Enum,
    货代公司: 1,
    快递公司: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '货代公司',
            [EN]: 'Forwarder',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '快递公司',
            [EN]: 'XX Express'
        })
    })
});

// 信用证类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:信用证类型（DCSPart）
export const lcKind = Object.freeze({
    __proto__: Enum,
    '滚动 L/C': 1,
    '正常 L/C': 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '滚动 L/C',
            [EN]: 'Rolling L/C'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '正常 L/C',
            [EN]: 'Normal L/C'
        })
    })
});

// 信用证状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:信用证状态（DCSPart）
export const lcStatus = Object.freeze({
    __proto__: Enum,
    正常: 1,
    失效: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '正常',
            [EN]: 'Normal'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '失效',
            [EN]: 'Invalid'
        })
    })
});

// 订单未满足原因类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:订单未满足原因类型（DCSPart）
export const orderUnmetReasonType = Object.freeze({
    __proto__: Enum,
    主观原因: 1,
    客观原因: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '主观原因',
            [EN]: 'Subjective Reasons'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '客观原因',
            [EN]: 'Objective Reasons'
        })
    })
});

// 装箱单状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:装箱单状态（DCSPart）
export const packingListType = Object.freeze({
    __proto__: Enum,
    包装完成: 1,
    发票生成: 2,
    被合并: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '包装完成',
            [EN]: 'Packing Done'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发票生成',
            [EN]: 'Invoice Generated'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '被合并',
            [EN]: 'Merge'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});
export const packingListTypeAdd = Object.freeze({
    __proto__: Enum,
    包装完成: 1,
    发票生成: 2,
    被合并: 3,
    排柜申请: 4,
    排柜驳回: 5,
    排柜中: 6,
    柜图导入: 7,
    出库: 8,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '包装完成',
            [EN]: 'Packing Done'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发票生成',
            [EN]: 'Invoice Generated'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '被合并',
            [EN]: 'Merge'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜申请',
            [EN]: 'Cabinet Application'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜驳回',
            [EN]: 'Cabinet Rejected'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜中',
            [EN]: 'Row of Ark'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '柜图导入',
            [EN]: 'Import Container Picture'
        }),
        '8': Object.freeze({
            __proto__: EnumItem,
            [CN]: '出库',
            [EN]: 'Out Of Stock'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 托盘要求（DCSPart） https://wiki.sdtdev.net/CHERYINTL:托盘要求（DCSPart）
export const palletizing = Object.freeze({
    __proto__: Enum,
    热处理托盘: 1,
    熏蒸托盘: 2,
    免熏蒸托盘: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '热处理托盘',
            [EN]: 'Heat-treatment Pallet'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '熏蒸托盘',
            [EN]: 'Fumigation Pallet'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '免熏蒸托盘',
            [EN]: 'Fumigation-free Pallets'
        })
    })
});

// 备件箱单发票状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件箱单发票状态（DCSPart）
export const partContractInvoiceStatus = Object.freeze({
    __proto__: Enum,
    发票生成: 1,
    运单生成: 2,
    上传SAP: 3,
    SAP返回: 4,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发票生成',
            [EN]: 'Invoice Generated'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '运单生成',
            [EN]: 'Dispatch Note generated'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '上传SAP',
            [EN]: 'SAP Uploaded'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'SAP返回',
            [EN]: 'SAP Return'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 备件交货单状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件交货单状态（DCSPart）
export const partDeliveryType = Object.freeze({
    __proto__: Enum,
    备货中: 1,
    已发货: 2,
    发货过账: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备货中',
            [EN]: 'Preparing'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发货',
            [EN]: 'Delivered'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发货过账',
            [EN]: 'Post'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 备件需求计划状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件需求计划状态（DCSPart）
export const partOrderPlanStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    提交: 2,
    驳回: 3,
    审核通过: 4,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '提交',
            [EN]: 'Submit'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '驳回',
            [EN]: 'Return'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '审核通过',
            [EN]: 'Verified'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 备件价格条款（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件价格条款（DCSPart）
export const partOrderPriceTerms = Object.freeze({
    __proto__: Enum,
    FOB: 1,
    CFR: 2,
    CIF: 3,
    FCA: 4,
    CPT: 5,
    CIP: 6,
    EXW: 7,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'FOB',
            [EN]: 'FOB'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CFR',
            [EN]: 'CFR'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CIF',
            [EN]: 'CIF'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'FCA',
            [EN]: 'FCA'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CPT',
            [EN]: 'CPT'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CIP',
            [EN]: 'CIP'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'EXW',
            [EN]: 'EXW'
        })
    })
});

// 备件订单状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件订单状态（DCSPart）
export const partOrderStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    提交: 2,
    审核通过: 3,
    驳回: 4,
    已交付: 5,
    已关闭: 6,
    订单取消: 7,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '提交',
            [EN]: 'Submit'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '审核通过',
            [EN]: 'Verified'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '驳回',
            [EN]: 'Return'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已交付',
            [EN]: 'Delivered'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已关闭',
            [EN]: 'Closed'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单取消',
            [EN]: 'Cancel'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 通知书状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:通知书状态（DCSPart）
export const partShipNoticeStatus = Object.freeze({
    __proto__: Enum,
    未生成: 1,
    已生成: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未生成',
            [EN]: 'Not Generated'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已生成',
            [EN]: 'Generated'
        })
    })
});

// 委托书状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:委托书状态（DCSPart）
export const partShipOrderStatus = Object.freeze({
    __proto__: Enum,
    未生成: 1,
    已生成: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未生成',
            [EN]: 'Not Generated'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已生成',
            [EN]: 'Generated'
        })
    })
});

// 备件发运单状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件发运单状态（DCSPart）
export const partShipmentStatus = Object.freeze({
    __proto__: Enum,
    待发运: 1,
    已发运: 2,
    已签收: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '待发运',
            [EN]: 'Waiting For Deliver'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发运',
            [EN]: 'Delivered'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已签收',
            [EN]: 'Signed'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 备件价格类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件价格类型（DCSPart）
export const partsPriceType = Object.freeze({
    __proto__: Enum,
    一般ZFOB: 1,
    客户ZFOB: 2,
    PR01: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '一般ZFOB',
            [EN]: 'Normal ZFOB'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '客户ZFOB',
            [EN]: 'Customer ZFOB'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PR01',
            [EN]: 'PR01'
        })
    })
});

// 备件付款方式（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件付款方式（DCSPart）
export const paymentType = Object.freeze({
    __proto__: Enum,
    'T/T': 1,
    'L/C': 2,
    Credit: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'T/T',
            [EN]: 'T/T'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'L/C',
            [EN]: 'L/C'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Credit',
            [EN]: 'Credit'
        })
    })
});

// 备料单状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备料单状态（DCSPart）
export const pickingListStatus = Object.freeze({
    __proto__: Enum,
    生效: 1,
    部分装箱: 2,
    全部装箱: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生效',
            [EN]: 'Valid'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '部分装箱',
            [EN]: 'Part Packed'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '全部装箱',
            [EN]: 'Fully Pakced'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 拣货类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:拣货类型（DCSPart）
export const pickingType = Object.freeze({
    __proto__: Enum,
    危险零件: 1,
    化工鉴定件: 2,
    磁检件: 3,
    普通件: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '危险零件',
            [EN]: 'Dangerous Parts'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '化工鉴定件',
            [EN]: 'Parts For Chemicals Certification'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '磁检件',
            [EN]: 'Parts For Magnetic Inspection'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '普通件',
            [EN]: 'Normal Parts'
        })
    })
});

// 价格条款（DCSPart） https://wiki.sdtdev.net/CHERYINTL:价格条款（DCSPart）
export const priceClause = Object.freeze({
    __proto__: Enum,
    一般ZFOB: 1,
    客户ZFOB: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '一般ZFOB',
            [EN]: 'Normal ZFOB'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '客户ZFOB',
            [EN]: 'Customer ZFOB'
        })
    })
});

// 备件形式发票状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件形式发票状态（DCSPart）
export const proformaInvoiceStatus = Object.freeze({
    __proto__: Enum,
    生成: 1,
    确认: 2,
    信用审核通过: 3,
    订单取消: 4,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生成',
            [EN]: 'Generate'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '确认',
            [EN]: 'Confirm'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '信用审核通过',
            [EN]: 'Credit Verified'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单取消',
            [EN]: 'Cancel'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 运输方式（DCSPart） https://wiki.sdtdev.net/CHERYINTL:运输方式（DCSPart）
export const transportType = Object.freeze({
    __proto__: Enum,
    海运: 1,
    空运: 2,
    快递: 3,
    铁路: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '海运',
            [EN]: 'By Sea'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '空运',
            [EN]: 'By Air'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '快递',
            [EN]: 'By Express'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '铁路',
            [EN]: 'By Railway'
        })
    })
});
// 账户类型（DCSPart） https://wiki.sdtdev.net/CHERYINTL:账户类型（DCSPart）
export const accountType = Object.freeze({
    __proto__: Enum,
    整车账户: 1,
    备件账户: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '整车账户',
            [EN]: 'Vehivle Account'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件账户',
            [EN]: 'Parts Account'
        }),
    })
});


// 备货需求状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备货需求状态（DCSPart）
export const stockRequirementStatus = Object.freeze({
    __proto__: Enum,
    生效: 1,
    上传SAP: 2,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生效',
            [EN]: 'Valid'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '上传SAP',
            [EN]: 'Upload SAP'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        }),
    })
});


// 备件排柜单状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件排柜单状态（DCSPart）
export const packingListCabinetStatus = Object.freeze({
    __proto__: Enum,
    排柜中: 1,
    柜图导入: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜中',
            [EN]: 'Row of Ark'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '柜图导入',
            [EN]: 'Import Container Picture'
        }),
    })
});
// 备件索赔判定书状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件索赔判定书状态（DCSPart）
export const partClaimDecisionStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    待确认: 2,
    已确认: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Created'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '待确认',
            [EN]: 'Awaiting Confirmation'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已确认',
            [EN]: 'Confirmed'
        }),
    })
});

// 备件缺货状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件缺货状态（DCSPart）
export const partBackOrderStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    待审核: 2,
    已确认: 3,
    已关闭: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '待审核',
            [EN]: 'Verifiying'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已确认',
            [EN]: 'Confrimed'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已关闭',
            [EN]: 'Closed'
        }),
    })
});

// 备件索赔结算状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:备件索赔结算状态（DCSPart）
export const partClaimCacuStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    已确认: 2,
    发票确认: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已确认',
            [EN]: 'Confirmed'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发票确认',
            [EN]: 'Invoice Confirmed'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        }),
    })
});
// 备件缺货处理状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件缺货处理状态（DCSPart）
export const partBackOrderDealStatus = Object.freeze({
    __proto__: Enum,
    未处理: 1,
    申请取消: 2,
    继续等待: 3,
    转新订单: 4,
    关闭: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未处理',
            [EN]: 'Not Processed'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '申请取消',
            [EN]: 'Continue Waiting For Delivery'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '继续等待',
            [EN]: 'Transfer To New Orders'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '转新订单',
            [EN]: 'Transfer To New Orders'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '关闭',
            [EN]: 'Closed'
        }),
    })
});


// 包装箱单管理中自定义的枚举
export const packingType = Object.freeze({
    __proto__: Enum,
    纸箱: 1,
    木箱: 2,
    托盘: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '纸箱',
            [EN]: 'Carton'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '木箱',
            [EN]: 'Wooden Box'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '托盘',
            [EN]: 'Pallet'
        })
    })
});

// 备件索赔类型 https://wiki.sdtdev.net/CHERYINTL:备件索赔类型（DCSPart）
export const partClaimType = Object.freeze({
    __proto__: Enum,
    物流索赔: 1,
    技术索赔: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '物流索赔',
            [EN]: 'Logistical'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '技术索赔',
            [EN]: 'Technical'
        })
    })
});

// 备件赔付方式 https://wiki.sdtdev.net/CHERYINTL:备件赔付方式（DCSPart）
export const partPaymentMethod = Object.freeze({
    __proto__: Enum,
    赔钱: 1,
    赔物: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '赔钱',
            [EN]: 'Credit'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '赔物',
            [EN]: 'Parts'
        })
    })
});

// 备件索赔状态 https://wiki.sdtdev.net/CHERYINTL:备件索赔状态（DCSPart）
export const partClaimStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    提交: 2,
    驳回: 3,
    拒赔: 4,
    审核通过: 5,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Created'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '提交',
            [EN]: 'Submit'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '驳回',
            [EN]: 'Return'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '拒赔',
            [EN]: 'Reject'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '审核通过',
            [EN]: 'Approved'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});

// 备件索赔原因 https://wiki.sdtdev.net/CHERYINTL:备件索赔原因（DCSPart）
export const partClaimReasonStatus = Object.freeze({
    __proto__: Enum,
    损坏: 1,
    错发: 2,
    丢失: 3,
    锈蚀: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '损坏',
            [EN]: 'Damaged'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '错发',
            [EN]: 'Improperly Deivered'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '丢失',
            [EN]: 'Lost'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '锈蚀',
            [EN]: 'Corroded'
        })
    })
});


// 总代子公司类型（DCSService）https://wiki.sdtdev.net/CHERYINTL:总代子公司类型（DCSService）
export const agentType = Object.freeze({
    __proto__: Enum,
    通用: 1,
    一般经销商: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '通用',
            [EN]: 'General'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '一般经销商',
            [EN]: 'Normal Dealership'
        }),
    })
});

export const partOrderType = Object.freeze({
    __proto__: Enum,
    Normal: 1,
    Emergency: 2,
    VOR: 3,
    Quarterly: 4,
    Initial: 5,
    Special: 6,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Normal',
            [EN]: 'Normal'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Emergency',
            [EN]: 'Emergency'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'VOR',
            [EN]: 'VOR'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Quarterly',
            [EN]: 'Quarterly'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Initial',
            [EN]: 'Initial'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Special',
            [EN]: 'Special'
        }),
    })
});

// 索赔代码 https://wiki.sdtdev.net/CHERYINTL:索赔代码（DCSPart）
export const partClaimCode = Object.freeze({
    __proto__: Enum,
    刮伤: 1,
    变形: 2,
    生锈: 3,
    破碎: 4,
    其他: 5,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '刮伤',
            [EN]: 'Scratch'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '变形',
            [EN]: 'Deformed'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生锈',
            [EN]: 'Corroded'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '破碎',
            [EN]: 'Broken'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '其他',
            [EN]: 'Others'
        })
    })
});
// 索赔结果 https://wiki.sdtdev.net/CHERYINTL:索赔结果（DCSPart）
export const partClaimResult = Object.freeze({
    __proto__: Enum,
    拒赔: 1,
    同意: 2,
    部分同意: 3,
    其他: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '拒赔',
            [EN]: 'Reject'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '同意',
            [EN]: 'Agree'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '部分同意',
            [EN]: 'Partly Agree'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '其他',
            [EN]: 'Others'
        })
    })
});
// 备件索赔报告状态 https://wiki.sdtdev.net/CHERYINTL:备件索赔报告状态（DCSPart）
export const PartClaimReportStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    已确认: 2,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已确认',
            [EN]: 'Confirmed'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        })
    })
});
// 索赔报告处理方案 https://wiki.sdtdev.net/CHERYINTL:索赔报告处理方案（DCSPart）
export const partClaimResultStatus = Object.freeze({
    __proto__: Enum,
    同意: 1,
    部分接受: 2,
    拒绝: 3,
    重新发送索赔零件: 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '同意',
            [EN]: 'Agree'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '部分接受',
            [EN]: 'Partly Accepted'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '拒绝',
            [EN]: 'Reject'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '重新发送索赔零件',
            [EN]: 'Re-send Claimed Parts'
        })
    })
});
// 备件索赔结算标识 https://wiki.sdtdev.net/CHERYINTL:备件索赔结算标识（DCSPart）
export const partClaimReportCacuStatus = Object.freeze({
    __proto__: Enum,
    未结算: 1,
    已结算: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未结算',
            [EN]: 'Not Settled'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已结算',
            [EN]: 'Settled'
        }),
    })
});

export const isBatchesStatus = Object.freeze({
    __proto__: Enum,
    是: 1,
    否: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '是',
            [EN]: 'Yes'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '否',
            [EN]: 'No'
        })
    })
});

export const isDetail = Object.freeze({
    __proto__: Enum,
    明细: 1,
    汇总: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '明细',
            [EN]: 'Detils'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '汇总',
            [EN]: 'Summary'
        })
    })
});


// 历史交货状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:历史交货状态（DCSPart）
export const partDeliveryHisType = Object.freeze({
    __proto__: Enum,
    备货中: 16011001,
    已发货: 16011002,
    发货过账: 16011003,
    已收货: 16011004,
    properties: Object.freeze({
        '16011001': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备货中',
            [EN]: 'Preparing'
        }),
        '16011002': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发货',
            [EN]: 'Delivered'
        }),
        '16011003': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发货过账',
            [EN]: 'Post'
        }),
        '16011004': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已收货',
            [EN]: 'Received'
        }),
    })
});
// 备件箱单发票历史状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件箱单发票历史状态（DCSPart）
export const invoiceStatusHis = Object.freeze({
    __proto__: Enum,
    发票生成: 16101001,
    上传SAP: 16101002,
    确认书生成: 16101004,
    托书生成: 16101005,
    通知书生成: 16101006,
    出运: 16101007,
    资料上传: 16101008,
    收货: 16101009,
    已发货: 16011002,
    properties: Object.freeze({
        '16101001': Object.freeze({
            __proto__: EnumItem,
            [CN]: '发票生成',
            [EN]: 'Invoice Generated'
        }),
        '16101002': Object.freeze({
            __proto__: EnumItem,
            [CN]: '上传SAP',
            [EN]: 'Upload SAP'
        }),
        '16101004': Object.freeze({
            __proto__: EnumItem,
            [CN]: '确认书生成',
            [EN]: 'Confirmation Generated'
        }),
        '16101005': Object.freeze({
            __proto__: EnumItem,
            [CN]: '托书生成',
            [EN]: 'Letter of Authorization Generated'
        }),
        '16101006': Object.freeze({
            __proto__: EnumItem,
            [CN]: '通知书生成',
            [EN]: 'Notice Generated'
        }),
        '16101007': Object.freeze({
            __proto__: EnumItem,
            [CN]: '出运',
            [EN]: 'Shipment'
        }),
        '16101008': Object.freeze({
            __proto__: EnumItem,
            [CN]: '资料上传',
            [EN]: 'Data Uploading'
        }),
        '16101009': Object.freeze({
            __proto__: EnumItem,
            [CN]: '收货',
            [EN]: 'Received'
        }),
        '16011002': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发货',
            [EN]: 'Delivered'
        })
    })
});
// 发运方式（DCSPart）https://wiki.sdtdev.net/CHERYINTL:发运方式（DCSPart）
export const shipmentTypeHis = Object.freeze({
    __proto__: Enum,
    'By sea': 15961001,
    'By air': 15961002,
    'By express': 15961003,
    'By Land': 15961004,
    properties: Object.freeze({
        '15961001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Sea',
            [EN]: 'By Sea'
        }),
        '15961002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Air',
            [EN]: 'By Air'
        }),
        '15961003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Express',
            [EN]: 'By Express'
        }),
        '15961004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Land',
            [EN]: 'By Land'
        }),
    })
});
// 包装类型（DCSPart）https://wiki.sdtdev.net/CHERYINTL:包装类型（DCSPart）
export const packingTypeHis = Object.freeze({
    __proto__: Enum,
    pallet: 16031001,
    carton: 16031002,
    woodenBox: 16031003,
    properties: Object.freeze({
        '16031001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Pallet',
            [EN]: 'Pallet'
        }),
        '16031002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Carton',
            [EN]: 'Carton'
        }),
        '16031003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'WoodenBox',
            [EN]: 'WoodenBox'
        }),
    })
});
// 备件信息状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件信息状态（DCSPart）
export const partStatus = Object.freeze({
    __proto__: Enum,
    生效: 1,
    冻结: 2,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '生效',
            [EN]: 'Valid'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '冻结',
            [EN]: 'Freeze'
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void'
        }),
    })
});
// 备件需求计划历史状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件需求计划历史状态（DCSPart）
export const partOrderPlanHisStatus = Object.freeze({
    __proto__: Enum,
    Submitted: 16421002,
    Returned: 16421003,
    Agreed: 16421004,
    properties: Object.freeze({
        '16421002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Submitted',
            [EN]: 'Submitted'
        }),
        '16421003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Returned',
            [EN]: 'Returned'
        }),
        '16421004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Agreed',
            [EN]: 'Agreed'
        }),
    })
});
// 备件历史订单类型（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件历史订单类型（DCSPart）
export const orderTypeHis = Object.freeze({
    __proto__: Enum,
    Normal: 15951001,
    Emergency: 15951002,
    VOR: 15951003,
    Quarterly: 15951004,
    Initial: 15951005,
    Special: 15951006,
    properties: Object.freeze({
        '15951001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Normal',
            [EN]: 'Normal'
        }),
        '15951002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Emergency',
            [EN]: 'Emergency'
        }),
        '15951003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'VOR',
            [EN]: 'VOR'
        }),
        '15951004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Quarterly',
            [EN]: 'Quarterly'
        }),
        '15951005': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Initial',
            [EN]: 'Initial'
        }),
        '15951006': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Special',
            [EN]: 'Special'
        }),
    })
});
// 备件历史订单状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件历史订单状态（DCSPart）
export const partSaleOrderHisStatus = Object.freeze({
    __proto__: Enum,
    Created: 15991001,
    Submitted: 15991002,
    Returned: 15991003,
    'PI Generated': 15991006,
    Canceled: 15991007,
    'PI Confirmed': 15991008,
    Stocking: 15991010,
    Delivered: 15991011,
    Close: 15991018,
    Agreed: 15991005,
    properties: Object.freeze({
        '15991001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Created',
            [EN]: 'Created'
        }),
        '15991002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Submitted',
            [EN]: 'Submitted'
        }),
        '15991003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Returned',
            [EN]: 'Returned'
        }),
        '15991006': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI Generated',
            [EN]: 'PI Generated'
        }),
        '15991007': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Canceled',
            [EN]: 'Canceled'
        }),
        '15991008': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI Confirmed',
            [EN]: 'PI Confirmed'
        }),
        '15991010': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Stocking',
            [EN]: 'Stocking'
        }),
        '15991011': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Delivered',
            [EN]: 'Delivered'
        }),
        '15991018': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Close',
            [EN]: 'Close'
        }),
        '15991005': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Agreed',
            [EN]: 'Agreed'
        })
    })
});
// 历史币种（DCSPart）https://wiki.sdtdev.net/CHERYINTL:历史币种（DCSPart）
export const currencyHis = Object.freeze({
    __proto__: Enum,
    CNY: 20011001,
    USD: 20011002,
    AUD: 20011003,
    CHF: 20011004,
    EUR: 20011005,
    GBP: 20011006,
    HKD: 20011007,
    JPY: 20011008,
    properties: Object.freeze({
        '20011001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CNY',
            [EN]: 'CNY'
        }),
        '20011002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'USD',
            [EN]: 'USD'
        }),
        '20011003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'AUD',
            [EN]: 'AUD'
        }),
        '20011004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CHF',
            [EN]: 'CHF'
        }),
        '20011005': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'EUR',
            [EN]: 'EUR'
        }),
        '20011006': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'GBP',
            [EN]: 'GBP'
        }),
        '20011007': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'HKD',
            [EN]: 'HKD'
        }),
        '20011008': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'JPY',
            [EN]: 'JPY'
        })
    })
});
// 历史备件价格条款（DCSPart）https://wiki.sdtdev.net/CHERYINTL:历史备件价格条款（DCSPart）
export const partOrderPriceTermsHis = Object.freeze({
    __proto__: Enum,
    FOB: 15981001,
    CFR: 15981002,
    CIF: 15981003,
    FCA: 15981004,
    CPT: 15981005,
    CIP: 15981006,
    EXW: 15981007,
    properties: Object.freeze({
        '15981001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'FOB',
            [EN]: 'FOB'
        }),
        '15981002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CFR',
            [EN]: 'CFR'
        }),
        '15981003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CIF',
            [EN]: 'CIF'
        }),
        '15981004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'FCA',
            [EN]: 'FCA'
        }),
        '15981005': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CPT',
            [EN]: 'CPT'
        }),
        '15981006': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'CIP',
            [EN]: 'CIP'
        }),
        '15981007': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'EXW',
            [EN]: 'EXW'
        })
    })
});
// 历史备件付款方式（DCSPart）https://wiki.sdtdev.net/CHERYINTL:历史备件付款方式（DCSPart）
export const paymentHisType = Object.freeze({
    __proto__: Enum,
    'L/C': 15971001,
    'T/T': 15971002,
    Credit: 15971003,
    properties: Object.freeze({
        '15971001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'L/C',
            [EN]: 'L/C'
        }),
        '15971002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'T/T',
            [EN]: 'T/T'
        }),
        '15971003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Credit',
            [EN]: 'Credit'
        })
    })
});
// 备件历史索赔状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件历史索赔状态（DCSPart）
export const partClaimStatusHis = Object.freeze({
    __proto__: Enum,
    SAVE: 16051001,
    SUBMIT: 16051002,
    RETURN: 16051003,
    RECEIVED: 16051004,
    END: 16051005,
    properties: Object.freeze({
        '16051001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'SAVE',
            [EN]: 'SAVE'
        }),
        '16051002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'SUBMIT',
            [EN]: 'SUBMIT'
        }),
        '16051003': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'RETURN',
            [EN]: 'RETURN'
        }),
        '16051004': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'RECEIVED',
            [EN]: 'RECEIVED'
        }),
        '16051005': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'END',
            [EN]: 'END'
        })
    })
});
// 交货单收货状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件交货单状态跟踪（DCSPart）
export const receiveStatus = Object.freeze({
    __proto__: Enum,
    已收货: 1,
    未收货: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已收货',
            [EN]: 'Received'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '未收货',
            [EN]: 'Not Receiving'
        })
    })
});
// 历史备件形式发票状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:历史备件形式发票状态（DCSPart）
export const partPIStatusHis = Object.freeze({
    __proto__: Enum,
    'PI Generated': 15991006,
    'PI Confirmed': 15991008,
    'Credit Agreed': 3,
    Canceled: 15991007,
    properties: Object.freeze({
        '15991006': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI Generated',
            [EN]: 'PI Generated'
        }),
        '15991008': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI Confirmed',
            [EN]: 'PI Confirmed'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Credit Agreed',
            [EN]: 'Credit Agreed'
        }),
        '15991007': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Canceled',
            [EN]: 'Canceled'
        })
    })
});
// 调拨状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:备件备货管理（DCSPart）
export const transferedStatus = Object.freeze({
    __proto__: Enum,
    未调拨: false,
    已调拨: true,
    properties: Object.freeze({
        false: Object.freeze({
            __proto__: EnumItem,
            [CN]: '未调拨',
            [EN]: 'Not Transferring'
        }),
        true: Object.freeze({
            __proto__: EnumItem,
            [CN]: '已调拨',
            [EN]: 'Transferr'
        }),
    })
});

//订单状态跟踪状态 https://wiki.sdtdev.net/CHERYINTL:订单状态跟踪状态（DCSPart）
export const partSaleOrderTrackStatus = Object.freeze({
    __proto__: Enum,
    订单新建: 1,
    订单提交: 2,
    订单审核通过: 3,
    订单驳回: 4,
    订单已交付: 5,
    订单已关闭: 6,
    订单取消: 7,
    订单作废: 8,
    PI生成: 9,
    PI确认: 10,
    PI信用审核通过: 11,
    PI订单取消: 12,
    备货需求生效: 14,
    备货需求上传SAP: 15,
    已发运: 17,
    部分发运: 18,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单新建',
            [EN]: 'Order Created'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单提交',
            [EN]: 'Order Submitted'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单审核通过',
            [EN]: 'Order Approved'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单驳回',
            [EN]: 'Order Return'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单已交付',
            [EN]: 'Order Delivered'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单已关闭',
            [EN]: 'Order Closed'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单取消',
            [EN]: 'Order Cancelled'
        }),
        '8': Object.freeze({
            __proto__: EnumItem,
            [CN]: '订单作废',
            [EN]: 'Order Void'
        }),
        '9': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI生成',
            [EN]: 'PI Generated'
        }),
        '10': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI确认',
            [EN]: 'PI Confirmed'
        }),
        '11': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI信用审核通过',
            [EN]: 'PI credit Approved'
        }),
        '12': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'PI取消',
            [EN]: 'PI Cancelled'
        }),
        '14': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备货需求生效',
            [EN]: 'Stocking Valid'
        }),
        '15': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备货需求上传SAP',
            [EN]: 'Picking'
        }),
        '17': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发运',
            [EN]: 'Dispatched'
        }),
        '18': Object.freeze({
            __proto__: EnumItem,
            [CN]: '部分发运',
            [EN]: 'Partial Dispatched'
        }),
    })
});
//通知通过状态 https://wiki.sdtdev.net/CHERYINTL:通知通过状态（DCSPart）
export const noticeStatus = Object.freeze({
    __proto__: Enum,
    新建: 1,
    已发布: 2,
    取消发布: 3,
    作废: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新建',
            [EN]: 'Add',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '已发布',
            [EN]: 'Released',
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '取消发布',
            [EN]: 'Cancel Release',
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '作废',
            [EN]: 'Void',
        }),
    })
});
//通知通告重要度 https://wiki.sdtdev.net/CHERYINTL:通知通告重要度（DCSPart）
export const noticeImportant = Object.freeze({
    __proto__: Enum,
    普通: 1,
    重要: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '普通',
            [EN]: 'Normal',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '重要',
            [EN]: 'Important',
        })
    })
});

// 装箱排柜申请状态（DCSPart） https://wiki.sdtdev.net/CHERYINTL:装箱排柜申请状态（DCSPart）
export const packingListApplyStatus = Object.freeze({
    __proto__: Enum,
    排柜申请: 1,
    排柜驳回: 2,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜申请',
            [EN]: 'Cabinet Application'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '排柜驳回',
            [EN]: 'Cabinet Rejected'
        })
    })
});
// 运输方式（DCSPart） https://wiki.sdtdev.net/CHERYINTL:运输方式（DCSPart）
export const transportTypeEng = Object.freeze({
    __proto__: Enum,
    'By Sea': 1,
    'By Air': 2,
    'By Express': 3,
    'By Railway': 4,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Sea',
            [EN]: 'By Sea'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Air',
            [EN]: 'By Air'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Express',
            [EN]: 'By Express'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'By Railway',
            [EN]: 'By Railway'
        })
    })
});
// 及时性（DCSPart） https://wiki.sdtdev.net/CHERYINTL:及时性（DCSPart）
export const timelinessType = Object.freeze({
    __proto__: Enum,
    Y: 1,
    N: -1,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Y',
            [EN]: 'Y',
        }),
        '-1': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'N',
            [EN]: 'N',
        }),
    })
});
//索赔报表状态（DCSPart）https://wiki.sdtdev.net/CHERYINTL:索赔报表状态（DCSPart）
export const partClaimFormStatus = Object.freeze({
    __proto__: Enum,
    备件索赔单新建: 1,
    备件索赔单提交: 2,
    备件索赔单驳回: 3,
    备件索赔单拒赔: 4,
    备件索赔单审核通过: 5,
    备件索赔单作废: 6,
    备件索赔判定书新建: 7,
    备件索赔判定书待确认: 8,
    备件索赔判定书已确认: 9,
    备件索赔报告新建: 10,
    备件索赔报告已确认: 11,
    备件索赔报告作废: 12,
    备件索赔结算单新建: 13,
    备件索赔结算单已确认: 14,
    备件索赔结算单发票确认: 15,
    备件索赔结算单作废: 16,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单新建',
            [EN]: 'Part Claim Creation',
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单提交',
            [EN]: 'Part Claim Submission',
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单驳回',
            [EN]: 'Part Claim Returned',
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单拒赔',
            [EN]: 'Part Claim Rejected',
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单审核通过',
            [EN]: 'Part Claim Approved',
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔单作废',
            [EN]: 'Part Claim Voided',
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔判定书新建',
            [EN]: 'Part Claim Judgement Creation',
        }),
        '8': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔判定书待确认',
            [EN]: 'Part Claim Judgement to be Confirmed',
        }),
        '9': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔判定书已确认',
            [EN]: 'Part Claim Judgement Confirmed',
        }),
        '10': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔报告新建',
            [EN]: 'Part Claim Report Creation',
        }),
        '11': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔报告已确认',
            [EN]: 'Part Claim Report Confirmed ',
        }),
        '12': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔报告作废',
            [EN]: 'Part Claim Report Voided ',
        }),
        '13': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔结算单新建',
            [EN]: 'Part Claim Settlement Creation',
        }),
        '14': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔结算单已确认',
            [EN]: 'Part Claim Settlement Confirmed',
        }),
        '15': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔结算单发票确认',
            [EN]: 'Part Claim Settlement Invoice Confirmed',
        }),
        '16': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件索赔结算单作废',
            [EN]: 'Part Claim Settlement Voided',
        }),
    })
});
//备件索赔类型（DCSPart）- https://wiki.sdtdev.net/CHERYINTL:备件索赔类型（DCSPart）
export const partClaimTypeHis = Object.freeze({
    __proto__: Enum,
    'Delivery Claim': 16081001,
    'Technical Claim': 16081002,
    properties: Object.freeze({
        '16081001': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Delivery Claim',
            [EN]: 'Delivery Claim'
        }),
        '16081002': Object.freeze({
            __proto__: EnumItem,
            [CN]: 'Technical Claim',
            [EN]: 'Technical Claim'
        }),
    })
});
//客户资金往来对账业务类型（DCSPart）- https://wiki.sdtdev.net/CHERYINTL:客户资金往来对账业务类型（DCSPart）
export const fundBusinessType = Object.freeze({
    __proto__: Enum,
    备件销售: 1,
    客户来款: 2,
    其他: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '备件销售',
            [EN]: 'Parts Sales'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '客户来款',
            [EN]: 'T/T Payment'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '其他',
            [EN]: 'Others'
        })
    })
});

//空运危险
export const isDangerousGoods = Object.freeze({
    __proto__: Enum,
    是: 1,
    否: 2,
    空: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '是',
            [EN]: 'Yes'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '否',
            [EN]: 'No'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '空',
            [EN]: 'Null'
        })
    })
});
//渠道
export const partChannel = Object.freeze({
    __proto__: Enum,
    奇瑞: 1,
    开瑞: 2,
    大乘: 3,
    精品: 4,
    新能源: 5,
    中兴: 6,
    其他: 7,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '奇瑞',
            [EN]: 'Chery'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '开瑞',
            [EN]: 'Karry'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '大乘',
            [EN]: 'Dorcen'
        }),
        '4': Object.freeze({
            __proto__: EnumItem,
            [CN]: '精品',
            [EN]: 'Boutique'
        }),
        '5': Object.freeze({
            __proto__: EnumItem,
            [CN]: '新能源',
            [EN]: 'New Energy'
        }),
        '6': Object.freeze({
            __proto__: EnumItem,
            [CN]: '中兴',
            [EN]: 'ZTE'
        }),
        '7': Object.freeze({
            __proto__: EnumItem,
            [CN]: '其他',
            [EN]: 'Other'
        })
    })
});

//图表类型
export const partOrderList = Object.freeze({
    __proto__: Enum,
    品种满足率: 1,
    金额满足率: 2,
    数量满足率: 3,
    properties: Object.freeze({
        '1': Object.freeze({
            __proto__: EnumItem,
            [CN]: '品种满足率',
            [EN]: 'VarietySatisfactionRate'
        }),
        '2': Object.freeze({
            __proto__: EnumItem,
            [CN]: '金额满足率',
            [EN]: 'AmountSatisfactionRate'
        }),
        '3': Object.freeze({
            __proto__: EnumItem,
            [CN]: '数量满足率',
            [EN]: 'QuantitySatisfactionRate'
        })
    })
});
